/**
 * Title: Service.java
 * Company: 广东亿迅科技有限公司
 * Project: 智慧型bss项目-能力平台
 *
 * @author: wxh
 * @version: CRM3.0
 * @time: 2017-10-02
 */
package com.wxh.bomb.netty.myrpc.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 服务注解
 * @author wxh
 */

// Retention注解决定Service注解的生命周期
@Retention(RetentionPolicy.RUNTIME)

// Target注解决定Service注解可以加在哪些成分上，如加在类身上，或者属性身上，或者方法身上等成分
@Target( { ElementType.METHOD, ElementType.TYPE })
/**
 * @Retention(RetentionPolicy.SOURCE)
 * 这个注解的意思是让Service注解只在java源文件中存在，编译成.class文件后注解就不存在了
 * @Retention(RetentionPolicy.CLASS)
 * 这个注解的意思是让Service注解在java源文件(.java文件)中存在，编译成.class文件后注解也还存在，
 * 被Service注解类标识的类被类加载器加载到内存中后Service注解就不存在了
 * 这里是在注解类Service上使用另一个注解类，这里的Retention称为元注解。
 * Retention注解括号中的"RetentionPolicy.RUNTIME"意思是让Service这个注解的生命周期一直程序运行时都存在
 */
public @interface Service {

}
